#include <unordered_map>
#include <iostream>
#include <time.h>
using namespace std;

//大数据查重复:10万个整数中，统计哪些数字重复了，并且统计数字重复,这里为了显示方便用100个整数
void test1()
{
	const int ARR_LEN = 100;
	int arr[ARR_LEN] = {0};
	srand(time(NULL));
	for(int i = 0; i < ARR_LEN; ++i)
	{
		arr[i] = rand()%20 + 1;
	}

	//第一个int是出现的数字，第二个是数字出现的次数
	unordered_map<int,int> umap;
	for(int k:arr)
	{
		/*
		auto it = umap.find(k);
		if(it == umap.end())
		{
			umap.insert({k,1});
		}
		else 
		{
			++it->second;
		}
		*/

		//一个语句做到上面几行语句的效果
		umap[k]++;
	}

	for(auto it = umap.begin(); it != umap.end(); ++it)
	{
		cout<<it->first<<"\t:"<<it->second<<endl;
	}
}

int main()
{
	test1();
	return 0;
}
